// 引入下载的@reduxjs/toolkit包,快捷创建action creator函数、action类型字符串和一个reducer函数
import {
    createSlice
} from '@reduxjs/toolkit'

// 创建一个变量,接收配置内容,用createSlice来配置
const countSlice = createSlice({
    //配置action中type的命名空间
    name: "counter",
    //配置reducer提供的初始值
    initialState: {
        count: 0
    },

    // 配置action
    reducers: {
        increment(prev, action) {
            // console.log(a, b, "reducer中的参数打印");
            // 从打印的结果中可以看到,接收的参数中,payload表示数据
            prev.count += action.payload 
        },
        decrement(prev, action) {
            prev.count -= action.payload
        }
    }
})

// 通过createSlice创建的对象上有一个reducer属性,直接得到就是当前reducer函数
// 可以暴露出去给store使用
export default countSlice.reducer

// createSilce根据配置内容把对应的action函数也创建出来了,
// 把所有的action保存在countSlice的actions对象上
export const {
    increment,
    decrement
}=countSlice.actions
